package org.cloud.common.util;

import java.io.UnsupportedEncodingException;

import org.apache.commons.codec.binary.Hex;
import org.cloud.common.exception.SlothCloudException;

/**
 * 加密解密工具类
 * 
 * @author wangyuan
 * @since 2019年6月9日 上午8:17:04
 *
 */
@SuppressWarnings("deprecation")
public class DigestUtils extends org.apache.commons.codec.digest.DigestUtils {
    
    public static final String CHARSET_UTF_8 = "UTF-8";

    /**
     * 对需要加密的字符串进行加盐处理
     * 
     * @param text
     * @param salt
     * @return
     */
    public static String sha256Hex(String text, String salt) {
        String saltHexString = null;
        try {
            saltHexString = Hex.encodeHexString(salt.getBytes(CHARSET_UTF_8));
        } catch (UnsupportedEncodingException e) {
            throw new SlothCloudException("将字符串转换为字节时出现错误", e);
        }

        return sha256Hex(sha256Hex(text) + saltHexString);
    }
}
